/*                        bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
 */

#ifndef POSITIONTRIGGER_H_
#define POSITIONTRIGGER_H_

#include "Scenery.h"
#include "TriggerList.h"
#include "Position.h"
#include "Body.h"
#include "Direction.h"
#include "StepTrigger.h"

class PositionTrigger {
public:
	PositionTrigger(){}
	virtual ~PositionTrigger(){}
	virtual void update(TriggerList *list, Scenery *scenery) = 0;
	virtual bool test(TriggerList *list) = 0;
	virtual bool steped(Body *body, Position *position, Direction *direction, StepTrigger *stepTrigger) = 0;
	virtual void setObjectPos(Position *position) = 0;
	virtual void active(Scenery *scenery) = 0;
};

#endif /* POSITIONTRIGGER_H_ */
